<%#-- copyright
OpenProject is an open source project management software.
Copyright (C) 2012-2020 the OpenProject GmbH

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 3.

OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
Copyright (C) 2006-2017 Jean-Philippe Lang
Copyright (C) 2010-2013 the ChiliProject Team

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

See docs/COPYRIGHT.rdoc for more details.

++#%>

<%= render :partial => 'shared/global_roles_header' %>

<% roles ||= nil %>

<%= error_messages_for_contract(role, @call.errors) if @call %>

<div class="form--field -required">
  <%= f.text_field :name, required: true, container_class: '-slim' %>
</div>
<div class="form--field">
  <% if role.new_record? %>
    <%= styled_label_tag :global_role, t(:label_global_role) %>
    <div class="form--field-container">
      <%= styled_check_box_tag("global_role", "1", role.is_a?(GlobalRole))%>
    </div>
  <% else %>
    <%= styled_label_tag :unchangeable, "#{t(:label_role_type)} #{t(:label_not_changeable)}" %>
    <div class="form--field-container">
      <%= (role.is_a?(GlobalRole) ? t(:label_global_role) : t(:label_member_role))%>
    </div>
  <% end %>
</div>

<% if role.new_record? || role.is_a?(GlobalRole) %>
  <div id="global_attributes" style="display:none">
    <%= render partial: "global_attributes", locals: { f: f, role: role, roles: roles&.select {|r| r.is_a?(GlobalRole)} }%>
  </div>
<% end %>

<% if role.new_record? || !role.is_a?(GlobalRole) %>
  <div id="member_attributes">
    <%= render partial: "member_attributes", locals: { f: f, role: role, roles: roles&.select {|r| !r.is_a?(GlobalRole)} }%>
  </div>
<% end %>

<% if role.new_record? || role.is_a?(GlobalRole) %>
  <div id="global_permissions" style=<%= role.new_record? && !role.is_a?(GlobalRole) ? "display:none" : ""%> >
    <%= render partial: "permissions", locals: {permissions: grouped_setable_permissions(GlobalRole.new), role: role, showGlobalRole: true }%>
  </div>
<% end %>
<% if role.new_record? || !role.is_a?(GlobalRole) %>
  <div id="member_permissions" style=<%= role.new_record? && role.is_a?(GlobalRole) ? "display:none" : ""%>>
    <%= render partial: "permissions", locals: {permissions: grouped_setable_permissions(role), role: role, showGlobalRole: false }%>
  </div>
<% end %>

